examine the beta-diversity between different two clusters from
different methods
function_PcoA <- function(in_matrix, cluster_col, title){
in_matrix[in_matrix<0] <- 0
distance <- vegdist(in_matrix, method = 'bray')
pcoa <- cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE)
point <- data.frame(pcoa$point)
pcoa_eig <- (pcoa$eig)[1:2] / sum(pcoa$eig)
# extract first two coordinate value
sample_eig <- data.frame({pcoa$point})[1:2]
sample_eig$id <- rownames(sample_eig)
names(sample_eig)[1:2] <- c('PCoA1', 'PCoA2')
group_m <- merge(sample_eig, df_cluster[,c("id", cluster_col)], by = "id", all.x = TRUE)
# PERMANOVA
dt <- in_matrix[group_m$id,]
print(identical(rownames(dt), group_m$id))
group_m[,cluster_col] <- as.factor(group_m[,cluster_col])
adonis_result <- adonis2(as.formula(paste("dt~", cluster_col, sep = "")), group_m, permutations = 999, distance = 'bray')
R2 <- round(adonis_result$R2[1], 2)
pvalue <- round(adonis_result$`Pr(>F)`[1], 2)
plot <- ggscatter(group_m, x= "PCoA1", y = "PCoA2",color=cluster_col,
ellipse = TRUE,
mean.point = TRUE, star.plot = TRUE,
ellipse.level = 0.95,
ggtheme = theme_minimal()) +
labs(x = paste('PCoA1: ', round(100 * pcoa_eig[1], 2), '%'),
y = paste('PCoA2: ', round(100 * pcoa_eig[2], 2), '%'))+
theme_classic()+
scale_color_manual(values = c("#0072B5CC","#E18727CC"))+
geom_vline(xintercept = 0, color = 'gray', size = 0.4) +
geom_hline(yintercept = 0, color = 'gray', size = 0.4) +
theme(panel.grid = element_line(color = 'black', linetype = 2, size = 0.1),
panel.background = element_rect(color = 'black', fill = 'transparent'),
legend.title=element_blank())+
theme(axis.title = element_text(size = 18, colour="black"),
axis.text = element_text(size = 16, colour = "black"),
legend.text = element_text(size = 16))+
geom_text(x=0, y=max(group_m$PCoA2)*0.8, label=paste("PERMANOVA R2 = ",R2 ,"\n","P = ", pvalue, sep = ""))+
ggtitle(title)
return(plot)
}
# examine the beta-diversity
for (x in c("Without_combined", "Likely_combined", "PC_combined", "Putative_combined", "Strigent_combined")){
col_cluster = x
p_nor <- function_PcoA(df_ACC_Voom_SNM, col_cluster, "Without")
p_nor_f_likely <- function_PcoA(df_ACC_filter_likely_Voom_SNM, col_cluster, "F_Likely")
p_nor_f_PC <- function_PcoA(df_ACC_filter_Plate_Center_Voom_SNM, col_cluster, "F_PC")
p_nor_f_putative <- function_PcoA(df_ACC_filter_putative_Voom_SNM, col_cluster, "F_Putative")
p_nor_f_strigent <- function_PcoA(df_ACC_filter_stringent_Voom_SNM, col_cluster, "F_Strigent")
p_nor_Vir <- function_PcoA(df_ACC_Voom_SNM_Vir, col_cluster, "Without_Vir")
p_nor_f_likely_Vir <- function_PcoA(df_ACC_filter_likely_Voom_SNM_Vir, col_cluster, "F_Likely_Vir")
p_nor_f_PC_Vir <- function_PcoA(df_ACC_filter_Plate_Center_Voom_SNM_Vir, col_cluster, "F_PC_Vir")
p_nor_f_putative_Vir <- function_PcoA(df_ACC_filter_putative_Voom_SNM_Vir, col_cluster, "F_Putative_Vir")
p_nor_f_strigent_Vir <- function_PcoA(df_ACC_filter_stringent_Voom_SNM_Vir, col_cluster, "F_Strigent_Vir")
p_nor_Arc <- function_PcoA(df_ACC_Voom_SNM_Arc, col_cluster, "Without_Arc")
p_nor_f_likely_Arc <- function_PcoA(df_ACC_filter_likely_Voom_SNM_Arc, col_cluster, "F_Likely_Arc")
p_nor_f_PC_Arc <- function_PcoA(df_ACC_filter_Plate_Center_Voom_SNM_Arc, col_cluster, "F_PC_Arc")
p_nor_f_putative_Arc <- function_PcoA(df_ACC_filter_putative_Voom_SNM_Arc, col_cluster, "F_Putative_Arc")
p_nor_f_strigent_Arc <- function_PcoA(df_ACC_filter_stringent_Voom_SNM_Arc, col_cluster, "F_Strigent_Arc")
p_nor_Bac <- function_PcoA(df_ACC_Voom_SNM_Bac, col_cluster, "Without_Bac")
p_nor_f_likely_Bac <- function_PcoA(df_ACC_filter_likely_Voom_SNM_Bac, col_cluster, "F_Likely_Bac")
p_nor_f_PC_Bac <- function_PcoA(df_ACC_filter_Plate_Center_Voom_SNM_Bac, col_cluster, "F_PC_Bac")
p_nor_f_putative_Bac <- function_PcoA(df_ACC_filter_putative_Voom_SNM_Bac, col_cluster, "F_Putative_Bac")
p_nor_f_strigent_Bac <- function_PcoA(df_ACC_filter_stringent_Voom_SNM_Bac, col_cluster, "F_Strigent_Bac")
# pdf(file = paste("Figures/ACC_beta_diversity_TWO_Cluster_",col_cluster,".pdf", sep = ""), width = 6, height = 5)
print(p_nor)
print(p_nor_f_likely)
print(p_nor_f_PC)
print(p_nor_f_putative)
print(p_nor_f_strigent)
print(p_nor_Vir)
print(p_nor_f_likely_Vir)
print(p_nor_f_PC_Vir)
print(p_nor_f_putative_Vir)
print(p_nor_f_strigent_Vir)
print(p_nor_Arc)
print(p_nor_f_likely_Arc)
print(p_nor_f_PC_Arc)
print(p_nor_f_putative_Arc)
print(p_nor_f_strigent_Arc)
print(p_nor_Bac)
print(p_nor_f_likely_Bac)
print(p_nor_f_PC_Bac)
print(p_nor_f_putative_Bac)
print(p_nor_f_strigent_Bac)
# dev.off()
}
## [1] TRUE
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 50
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 46
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 51
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 48
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 41
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 43
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 42
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 29
## of the first 76 eigenvalues are > 0
## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 73
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0
## [1] TRUE



















## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 50
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 46
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 51
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 48
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 41
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 43
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 42
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 29
## of the first 76 eigenvalues are > 0
## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 73
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0

## [1] TRUE



















## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 50
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 46
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 51
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 48
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 41
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 43
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 42
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 29
## of the first 76 eigenvalues are > 0
## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 73
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0

## [1] TRUE



















## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 50
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 46
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 51
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 48
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 41
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 43
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 42
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 29
## of the first 76 eigenvalues are > 0
## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 73
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0

## [1] TRUE



















## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 50
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 46
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 51
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 48
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 41
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 43
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 42
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 39
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 29
## of the first 76 eigenvalues are > 0
## [1] TRUE
## [1] TRUE
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 75
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 73
## of the first 76 eigenvalues are > 0
## [1] TRUE
## Warning in cmdscale(distance, k = (nrow(in_matrix) - 1), eig = TRUE): only 45
## of the first 76 eigenvalues are > 0

## [1] TRUE



















